// 1. 体积最多为j 初始化dp全部为0
// 2. 体积恰好为j 初始化dp全部为INF && dp[0] = 0 && V >= 0
// 3. 体积至少为j 初始化dp全部为INF && dp[0] = 0
#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 22, M = 80;

int n, m, k;
int dp[N][M];

int main()
{
    cin >> n >> m >> k; // 表示氧，氮各自需要的量。
    memset(dp, 0x3f, sizeof dp);
    dp[0][0] = 0;
    while (k --)
    {   
        int a, b, c; // 第 i 个气缸里的氧和氮的容量及气缸重量
        cin >> a >> b >> c;
        for (int i = n; i >= 0; i -- )
            for (int j = m; j >= 0; j -- )
                dp[i][j] = min(dp[i][j], dp[max(0, i - a)][max(0, j - b)] + c);
    }
    cout << dp[n][m];
    return 0;
}
